1. Field of the Invention
The instant invention generally relates to a system and method for detecting frequency in an audio signal, and, more particularly, to a system and method for identifying a plurality of frequencies simultaneously present in an audio signal, as well as the period, amplitude, and phase of those frequencies, then filtering out the harmonic components so as to automatically detect the notes played in a polyphonic musical recording.
2. Description of Related Art
It is well known that no system or method exists for conveniently and reliably identifying a plurality of frequencies and corresponding phases, amplitudes and duration simultaneously present in a wave form, such as a musical recording. A musical recording usually comprises a plurality of notes, and each note comprises a frequency, phase, amplitude and duration. People have been desirous of discovering such a system for recording and reproducing music as it is created, drafting a practice sequence of music, or creating sheet music from a prerecorded song. Electronic equipment and software are available for transcribing a monophonic waveform, that is, music that is played one note at a time, in a musical information data interface ("MIDI") file. A wave file stores an audio signal in its recorded form. A MIDI file contains music information that conforms to the musical instrument digital interface specification. MIDI files specify frequency, period and amplitude of musical notes and consume less space than wave files. MIDI files enable music to be automatically transcribed into notation, played on a MIDI-enabled musical instrument, or fed into a sequencer. However, to create the MIDI file the music must be played on a MIDI-enabled instrument, which requires the user to know how to play the music. Some systems have recently been developed which convert monophonically played music into a MIDI file. These types of systems have been referred to as automatic transcription devices. As noted, existing transcription technology can only detect one note at a time. Consequently, there exists a need for a system and method that converts wave files containing polyphonic music to MIDI files.
Attempts have been made to create transcription systems which recognize polyphonic music, i.e., music containing multiple notes such as chords. These attempts, however, have been unsuccessful. The prior systems simply cannot recognize several notes played at the same time. Accordingly, they cannot take a polyphonic wave form recording of a song and convert it to a MIDI file. Current software and related systems can only detect monophonic wave forms or music. A wave form to MIDI file converter has not been previously developed because of the difficulty in detecting frequencies/notes present in a signal having simultaneously presented multiple notes. Polyphonic music produces an aggregate wave form that is extremely difficult to analyze because of the inherent problem associated with measuring the period. The period is a measure of the combination of notes, rather than a single note. The more notes that are played, the longer the period of the wave form. Even if the aggregate wavelength could be determined, phase and amplitude must still be ascertained. In addition, sets of notes present at any single time are likely to change within the period of the aggregate wave form.
Some systems have been found that purport to detect multiple simultaneous pitches, but they are not suitable for musical applications or for recognizing the notes played in polyphonic music or sound. Pitch detection has been used for studying speech, stress in human speech and the fundamental frequency of the voice chord, for ear training, and for transcribing music played monophonically. AFI provides a pitch reader that claims to transcribe music if played monophonically. Cakewalk Pro Audio 6.0 includes a pitch detection feature that accomplishes the same thing. Sound2 MIDI from Audio Works, AutoScore 1.0 from Wildcat Canyon Software and music@Passport from Passport Designs also claim to have audio to MIDI conversion software that can detect notes played monophonically. They are designed to recognize pitches sung or played into a sound card while a sequencer program records the MIDI sequence. While the foregoing may disclose software for monophonic sound to MIDI conversion, each recognizes their inability to convert polyphonic music or sounds into a MIDI format.
There are a few systems known which try to detect the frequencies present in an input signal, but they fail to address and solve the above-noted problems. For instance, U.S. Pat. Nos. 4,245,325, 4,068,309, 4,031,462, and 3,803,390 employ Fourier analysis, FFT, or Fast Hartley transforms for detecting multiple frequencies in an input signal. These solutions are not accurate enough to detect small changes in frequency. To use FFT without error requires a window size that is a multiple of the aggregate wavelength. Large windows such as these create unrealistic all massive demands on system resources. Simply stated, FFT solutions are not practical for personal computers. U.S. Pat. Nos. 4,014,237 and 3,683,162 try to detect multiple frequencies using a series of hardware-based, narrow frequency band-pass filters with rapid cutoffs, each tuned to a different musical note. By contrast, the instant invention determines musical pitch. Moreover, hardware-based systems in the prior art are difficult to implement and do not have narrow enough bands to prevent leakage or overlapping to adjacent notes.
The other systems known in the art which fail to teach a system capable of polyphonic audio to MIDI conversion include the following: U.S. Pat. Nos. 5,447,438; 5,349,130; 5,018,428; 4,688,464; 4,665,790; 4,627,323; 4,457,203; 4,429,609; 4,399,732; 4,377,961; 4,354,418; 4,313,361; 4,300,431; 4,280,387; 4,273,023; 4,217,808; 4,164,626; 4,151,775; 4,070,618; 4,041,783; 4,028,985; 4,021,653; 3,852,535; 3,820,021; 3,812,432; 3,766,818; 3,740,476; 3,704,414; 3,662,261; and 3,603,737. These recognize monophonic music only, like the specific products listed above.